package com.dalin.framework.common.utils;

import java.io.File;
import java.util.Date;

import com.dalin.framework.common.utils.*;
//import org.dom4j.Element;
//import org.dom4j.io.SAXReader;

/*****************************************************************************
 * @content: 计算LICENCE,类方法应该为私有方法，编译时为混淆编译                                                                                                                       *
 * @author : 那建林                                                                                                                                *
 * @crtDate: 2012-03-11                                                     *
 ****************************************************************************/
public final class LcnUtils {
	private LcnUtils() {}
//
//	/*************************************************************************
//	 * @content: 根据网卡地址计算出license
//	 * @param  : macAddr 开启的网卡地址
//	 * @return : 加密后的32位字符串
//	 * @author : 那建林
//	 * @throws IOException
//	 * @crtDate: 2011-10-11
//	 * @modDate: 2011-10-11
//	 */
//
//
//	/*************************************************************************
//	 * @content: 根据时间及特定规则计算出40位license
//	 * @param  : d 过期日期字符串，格式为：2011-09-09
//	 * @return : 加密后的40位字符串
//	 * @author : 那建林
//	 * @crtDate: 2012-03-11
//	 * @modDate: 2012-03-11
//	 */
//	private static String getKeyByDate(String dateStr) {
//		System.out.println("log4j.INFO:using web project:"+ FileUtils.getCurrentWebPN());
//		return produceKeyByDate(FileUtils.getCurrentWebPN().trim(), dateStr);
//	}
//
//	private static String produceKeyByDate(String webPN, String dateStr) {
//		return EncryptUtils.encodeToMD40Str("dalin" + webPN.toUpperCase() + dateStr.replaceAll("-", ""));
//	}
//
//	/*************************************************************************
//	 * @content: 根据时间及特定规则计算出40位license
//	 * @param  : d 过期日期字符串，格式为：2011-09-09
//	 * @return : 加密后的40位字符串
//	 * @author : 那建林
//	 * @crtDate: 2012-03-11
//	 * @modDate: 2012-03-11
//	 */
//	public static String examineLicByDate() {
//		String errorInfo = "\u65e0\u6548\u7684\u6587\u4ef6!!!"; // "无效的文件格式!!!";
//		try {
//			String[] macAry = OperatingSystem.getCurrentMACAddresses();
//			for (String macStr : macAry) {
//				if ("00-1D-60-E6-B0-B9".equals(macStr) || "00-1C-BF-3D-A9-05".equals(macStr) ) {
//					return null;
//				}
//			}
//			String licensePath = FileUtils.getResourcePath();
//			File f = new File(licensePath + "license.xml");
//			SAXReader reader = new SAXReader();
//			Element rootEle = reader.read(f).getRootElement();
//			String author = rootEle.elementText("author");
//			String expiryDate = rootEle.elementText("expiryDate");
//			String key = rootEle.elementText("key");
//			String email = rootEle.elementText("email");
//			if (!"\u90a3\u5efa\u6797".equals(author)){
//				return "\u9519\u8bef\u7684\u540d\u5b57";
//			}
//			if (StringUtils.isBlank(expiryDate)
//					|| StringUtils.isBlank(key)
//					|| !"dalinjava@163.com".equals(email)) return errorInfo;
//			if (!key.equals(getKeyByDate(expiryDate))) {
//				return "\u9519\u8bef\u7684\u7248\u672c"; // 错误的版本
//			}
//			Date nowDate = DateUtils.getCurrentDate();
//			if (DateUtils.getIntervalDays(nowDate, DateUtils.getDate(expiryDate)) < 0) {
//				return "please kill yourself!!!"; // "please kill yourself";
//			}
//		} catch (Exception e) {
//			//e.printStackTrace();
//			return errorInfo;
//		}
//		return null;
//	}
//
//	public static void main(String[] args) {
//		System.out.println(produceKeyByDate("licenceloa", "2012-05-15"));
//		System.out.println(produceKeyByDate("licencecute", "2012-05-15"));
//		System.out.println(produceKeyByDate("cutedalin", "2112-01-01"));
//		System.out.println("BSLM=="+produceKeyByDate("bslm", "2014-03-05"));
//		System.out.println(examineLicByDate());
//	}
}
